package com.kfm.pm.stream;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.function.BinaryOperator;

public class Demo03 {

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        Collections.addAll(list, 1, 2, 3, 4, 5, 6);
        // 参数是一个二元运算符 apply 参数是 方法第一个元素和第二个元素  前面的和  接下来的元素
        Integer i = list.stream().reduce(new BinaryOperator<Integer>() {
            @Override
            public Integer apply(Integer object, Integer object2) {
                System.out.println("1===>" + object);
                System.out.println("2===>" + object2);
                return object * object2;
            }
        }).get();
        System.out.println(i); // 720
    }
}
